Lịch sử Tiền tố nhị phân

Những máy tính đầu tiên sử dụng một trong hai cách mô tả địa chỉ để nói về bộ nhớ hệ thống; hệ nhị phân (cơ số 2) hoặc hệ thập phân (cơ số 10). Máy IBM 701 (1952) sử dụng hệ nhị phân và có thể mô tả được 2048 "word", mỗi word có 36 bit. Máy IBM 702 (1953) sử dụng hệ thập phân và có thể mô tả 10.000 "word", mỗi word có 7 bit. Một trong những máy tính thành công nhất thời đó là IBM 1401, được giới thiệu vào năm 1959 và đến 1961 cứ 4 máy tính điện tử thì có 1 chiếc IBM 1401, sử dụng cách ghi địa chỉ theo hệ thập phân và có thể có 1400, 2000, 4000, 8000, 12.000 hoặc 16.000 ký tự (mỗi ký tự có 8 bit) trong bộ lưu trữ nhân[1]. Khi nói đến "4k IBM 1401" có nghĩa là 4000 ký tự của bộ nhớ[2].

Đến giữa thập niên 1960 cách ghi địa chỉ theo hệ nhị phân đã là kiến trúc chuẩn trong thiết kế máy tính. Tài liệu hướng dẫn hệ thống máy tính thời đó xác định kích thước bộ nhớ với con số chính xác như 32.768, 65.536 hay 131.072 "word" lưu trữ. Có vài phương pháp được dùng để viết tắt các lượng số này. Một bài báo trong cuộc thảo luận nhỏ vào năm 1964 của Gene Amdahl nói về IBM System/360 đã dùng 1K với nghĩa là 1024[3]. Kiểu cách này đã được dùng lại bởi những nhà buôn bán máy tính khác, Mô tả hệ thống của CDC 7600 (1968) dùng rất nhiều chữ K như 1024[4]. Một kiểu dùng khác đó là cắt đi 3 số cuối và thêm chữ K vào. Giá trị chính xác 32.768, 65.536 và 131.072 trở thành 32K, 65K và 131K[5]. Nếu 32.768 được làm tròn, nó sẽ thành 33K. Kiểu này đã được dùng trong khoảng từ năm 1965 đến 1975.

Việc sử dụng 1024 K thông dụng hơn kiểu K sau khi cắt cụt. Cả hai đều được dùng, có khi bởi cùng một công ty. Máy tính thời gian thực HP 21MX (1974) ký hiệu 196.608 là 196K và 1.048.576 là 1 M[6]. Máy tính doanh nghiệp HP 3000 (1973) có thể có bộ nhớ 64K, 96K, hoặc 128K byte[7].

Thuật ngữ Kbit, Kbyte, Mbit và Mbyte bắt đầu được sử dụng như đơn vị nhị phân vào đầu thập niên 1970[8]. Tờ quảng cáo cho máy tính IBM System/370 Model 158 (1972) đã có những dòng sau: "Dung lượng lưu trữ thực có bán từ 512K đến 2.048K byte tăng theo từng bậc 512K"[9]. Phần lớn dung lượng bộ nhớ được mô tả theo K. Megabyte được dùng để mô tả địa chỉ 22-bit của máy PDP-11/70 (1975) của hãng DEC[10] và gigabyte để chỉ địa chỉ 30-bit của máy VAX11/780 (1977), cũng của DEC.

Vào giữa thập niên 1070 việc dùng K (hoặc Kbyte) để biểu diễn 1024 đã trở nên phổ biến và ít gặp hơn là M (hay MByte) được dùng như 1.048.576 word hay byte cho bộ nhớ (RAM). K và M cũng được dùng với nghĩa thập phân cho dung lượng đĩa. Việc sử dụng song song các tiền tố này cho cả hệ thập phân và nhị phân đã được định nghĩa trong những tiêu chuẩn và từ điển thời đó. ANSI/IEEE Std 1084-1986[11] vẫn còn dùng để tham khảo và đã định nghĩa kilo và mega. Thuật ngữ "dung lượng máy tính" có nghĩa là bộ nhớ hệ thống[3]

"kilo (K). (1) Một tiền tố để chỉ 1000. (2) Trong các câu văn liên quan đến kích thước dung lượng máy tính, là một tiền tố để chỉ 210, hay 1024."

"mega (M). (1) Một tiền tố để chỉ một triệu. (2) Trong các câu văn liên quan đến kích thước dung lượng máy tính, là một tiền tố chỉ 220, hay 1.048.576."

Vào thập niên 1980 các thuật ngữ kilobyte, megabytegigabyte trở nên phổ biến cùng với cách viết tắt KB, MB và GB và các thuật ngữ Kbyte, Mbyte và Gbyte. Tất cả đều được định nghĩa trong IEEE 100[12]. Thuật ngữ Kbyte, Mbyte và Gbyte được tìm thấy trong các ấn bản thương mại và trong bài báo của IEEE (Kilobyte, Kbyte và KB là những đơn vị tương đương).

Ngành công nghiệp đã thích ứng với những định nghĩa kép này vì bộ nhớ hệ thống (RAM) luôn sử dụng nghĩa nhị phân trong khi dung lượng đĩa lại sử dụng nghĩa thập phân (tuy cũng có những ngoại lệ đặc biệt cho một số loại đĩa). Không có đơn vị SI cho dung lượng lưu trữ máy tính nhưng ý nghĩa thập phân của KB, MB và GB thường được chỉ bằng tiền tố SI.

Vào tháng 1 năm 1999, Ủy ban Kỹ thuật Điện Quốc tế giới thiệu các tiền tố kibi-, mebi-, gibi-, v.v., và các ký hiệu Ki, Mi, Gi, v.v., để chỉ các bội số nhị phân của số lượng và loại bỏ sự nhập nhằng này[13]. Tên của tiêu chuẩn mới được lấy ra từ hai chữ cái đầu tiên của tiền tố SI gốc kèm theo là chữ bi, viết tắt cho "binary" (nhị phân). Chuẩn mới cũng làm rõ rằng, theo quan điểm của IEC, các tiền tố SI do đó sẽ chỉ được dùng với nghĩa cơ số 10 của nó và không bao giờ có nghĩa là cơ số 2.

Phiên bản thứ hai của tiêu chuẩn[14] định nghĩa chúng chỉ đến exbi-[15], nhưng vào năm 2005, phiên bản thứ ba đã thêm vào các tiền tố zebi- và yobi-, do đó tất cả các tiền tố SI tiêu chuẩn đã có phần nhị phân tương ứng[16].

Vào 19 tháng 3 năm 2005 tiêu chuẩn IEEE IEEE 1541-2002 (Các Tiền tố cho Bội số Nhị phân) đã được nâng lên thành tiêu chuẩn sử dụng đầy đủ bởi Hiệp hội Tiêu chuẩn IEEE sau khoảng thời gian hai năm thử nghiệm[17].

Sự bối rối của người dùng

Ổ cứng này có thể chứa 160×109 byte, và được bán ra sử dụng tiền tố SI chuẩn là "160 GB"

Vào thời kỳ đầu tiên của máy tính hầu như không có sự nhầm lẫn nào từ người dùng vì bản chất cẩn thận của người dùng nhưng lý do quan trọng hơn là các nhà sản xuất máy tính hồi đó xác định (trái với các quảng cáo) sản phẩm của họ bằng chữ số thập phân ở những chỗ thích hợp, ví dụ như vào năm 1968 IBM nói về System 360 "Model 91s có thể cung cấp lên đến 6.291.496 byte bộ nhớ chính."[18] Những nhà sản xuất ổ cứng bắt đầu sử dụng MB, có nghĩa là 106 byte, để mô tả đặc tính sản phẩm của họ từ năm 1974[19]. Đến năm 1977, trong phiên bản đầu tiên, Disk/Trend[20], một nhà tư vấn tiếp thị cho ngành công nghiệp ổ cứng hàng đầu khi đó đã chia ngành công nghiệp dựa theo số MB (nghĩa thập phân) dung lượng. Việc một hệ điều hành sử dụng MB với nghĩa nhị phân để hiển thị dung lượng ổ cứng có lẽ xuất hiện đầu tiên ở Macintosh Finder sau 1984. Trước đó, trên những hệ thống có dùng ổ cứng, dung lượng được hiển thị bằng các con số thập phân và không dùng tiền tố nào (như lệnh CHKDSK của MS/PC DOS). Sau đó, một ví dụ là Microsoft Windows 3.11 đã báo cáo dung lượng thực của ổ cứng 41.959.424 byte là 40 MB.

Tài liệu tham khảo

WikiPedia: Tiền tố nhị phân http://tcelis.cenelec.be/pls/portal30/CELISPROC.RP... http://tcelis.cenelec.be/pls/portal30/CELISPROC.RP... http://www.iec.ch/news_centre/release/nr2005/nr200... http://www.iec.ch/zone/si/si_bytes.htm http://converter.50webs.com/ http://www.answers.com/topic/ckd http://www.askoxford.com/concise_oed/megabyte?view... http://meta.ath0.com/2005/02/23/a-plea-for-sanity/ http://www.aztekera.com/tools/binary.php http://www.dewassoc.com/kbase/hard_drives/binary_v...